package com.company.ljh.easy;

/**
 * @description:
 * 643. 子数组最大平均数 I
 * 简单
 * 295
 * 相关企业
 * 给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。
 *
 * 请你找出平均数最大且 长度为 k 的连续子数组，并输出该最大平均数。
 *
 * 任何误差小于 10-5 的答案都将被视为正确答案。
 * @projectName:leet_code
 * @see:com.company.ljh.easy
 * @author:ljh
 * @createTime:2023/7/3 10:04
 * @version:1.0
 */
public class 子数组最大平均数1 {
    //滑动窗口
    public double findMaxAverage(int[] nums, int k) {

        int total = 0;
        //初始化数组
        for(int i =0; i< k;i++){
            total += nums[i];
        }
        int max = total;
        int start = 1;
        int end = start + k-1;
        while(end < nums.length){
            total = total - nums[start - 1] + nums[end];
            max = max > total?max:total;
            start++;
            end++;
        }
        return max/(double)k;
    }
}
